package com.shengqin.service;

import com.shengqin.controller.api.dto.SchoolTestStatisticsDTO;
import com.shengqin.controller.api.dto.ProjectTestStatisticsDTO;
import com.shengqin.controller.api.dto.BmiStatisticsDTO;
import com.shengqin.controller.api.dto.ProjectSchoolStatisticsDTO;
import java.util.List;

public interface ITestStatisticsService {
    /**
     * 获取学校测试统计数据
     * @param planId 计划ID
     * @param schoolId 学校ID（可选）
     * @return 学校统计数据列表
     */
    List<SchoolTestStatisticsDTO> getSchoolTestStatistics(Integer planId, Integer schoolId);

    /**
     * 获取项目测试统计数据
     * @param planId 计划ID
     * @param schoolId 学校ID（可选）
     * @return 项目统计数据列表
     */
    List<ProjectTestStatisticsDTO> getProjectTestStatistics(Integer planId, Integer schoolId);

    /**
     * 获取BMI测试统计数据
     * @param planId 计划ID
     * @param schoolId 学校ID（可选）
     * @return BMI统计数据列表
     */
    List<BmiStatisticsDTO> getBmiStatistics(Integer planId, Integer schoolId);

    /**
     * 生成测试统计PDF报告
     * @param planId 计划ID
     * @param schoolId 学校ID（可选）
     * @return PDF文件字节数组
     */
    byte[] generateTestStatisticsPDF(Integer planId, Integer schoolId);

    /**
     * 获取各个项目在各学校的测试统计数据
     * @param planId 计划ID
     * @param schoolId 学校ID（可选）
     * @return 项目学校统计数据列表
     */
    List<ProjectSchoolStatisticsDTO> getProjectSchoolStatistics(Integer planId, Integer schoolId);
} 